Field
Exemplary embodiments relate to a video system and method for minimizing streaming latency. More particularly, exemplary embodiments relate to a video system and method for minimizing streaming latency due to underflow of a buffer of a decoder.
Discussion of the Background
Generally, video devices have a CODEC for processing video data. A video CODEC comprises an encoding part and decoding part. An encoding part performs, for example, functions of encoding, compressing and transmitting video data and a decoding part performs, for example, functions of decoding and decompressing video data to restore the original video. In such video CODEC, the encoding part and decoding part have buffers for efficient reception and transmission of video data.
FIG. 1 is a block diagram illustrating an encoder 110 and a decoder 120 of a conventional video device.
Referring to FIG. 1, a conventional encoder 110 may comprise a data input part 111, an encoding data conversion part 112, and a first buffer 113. The data input part 111 receives external streaming video data. The encoding data conversion part 112 compresses and converts the external streaming video data, and the first buffer 113 stores the converted video data and outputs, in response to request signal from external devices, the stored converted video data. Also, a conventional decoder 120 may comprise a second buffer 121, a decoding data conversion part 122, and data output part 123. The second buffer 121 receives the converted video data from the first buffer 113 of the encoder 110. The decoding data conversion part 122 converts the converted video data into streaming data, and the data output part 123 outputs the converted video data.
The conventional video system as described above may operate as follows.
First, external streaming type video data are input to the data input part 111. The encoding data conversion part 112 then compresses and converts the inputted video data. Subsequently, the converted video data are stored in the first buffer 113, and the first buffer 113 outputs the stored data in response to a request for output from an external device.
The second buffer 121 of the decoder 120 receives the converted video data output from the first buffer 113 via a network and transmits the converted video data to the decoding data conversion part 122. The decoding data conversion part 122 converts the input converted video data into streaming type video data and outputs the converted streaming type video data through the data output part 123.
The first buffer 113 of the encoder 110 and the second buffer 121 output the input data in real time. But if data output is larger than data input, the first buffer 113 or the second buffer 121 may be in an underflow state and may stop outputting data until the first buffer 113 or the second buffer 121 is filled up. Therefore, a sudden latency may occur in data output from the first buffer 113 of the encoder 110 via network and/or data input from the second buffer 121 to the decoding data conversion part 122. This may result in latency in streaming data output from the data output part 123 which may cause users watching video via a network to experience video lagging and stuttering issues.
Streaming data latency may be avoided by using encoders with a variable bitrate in real time when a buffer is in an underflow state. However, avoiding such issues with encoders having a fixed bitrate may be difficult.
The above information disclosed in this Background section is only for enhancement of understanding of the background of the inventive concept, and, therefore, it may contain information that does not form the prior art that is already known in this country to a person of ordinary skill in the art.